Works Timing

ABSTRACT

The system and/or processes described herein are configured to help an entity operating one or more service facilities manage the timing of service jobs across work stations. The entity manages the timing based on receiving, and tracking, job status information received from the work stations. For instance, after receiving the job status information, the entity may implement timing mechanisms to estimate or predict a time when a service job is likely to begin. The entity may also use the timing mechanisms to estimate or predict a time when the service job is likely to be completed.

PRIORITY APPLICATION

This application claims the benefit of and priority to U.S. patentapplication Ser. No. 14/213,537, filed Mar. 14, 2014, the entirecontents of which are incorporated herein by reference.

BACKGROUND

Today, customers visit many different facilities (e.g., automobileshops, hair salons, massage parlors, etc.) to service a variety of itemsbelonging to the customers (e.g., change the oil of a customer'sautomobile, cut a customer's hair, massage a customer's back muscles,etc.). Typically, these facilities individually comprise multiple workstations equipped to service the items.

However, these facilities do not provide an effective way of managingand coordinating the work flow across multiple work stations.Specifically, customers that visit these facilities may often experiencefrustration at least because the facilities are unable to provide anytransparency or visibility to the customer regarding accurate timinginformation related to a service job (e.g., work) to be performed on thecustomers' items. In other words, the facilities are unable toaccurately estimate or predict timing information associated with aservice job, and therefore, are unable to accurately inform customers ofwhen a service job will most likely begin and/or when the service jobwill most likely be completed, for example.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is set forth with reference to the accompanyingfigures, in which the left-most digit of a reference number identifiesthe figure in which the reference number first appears. The use of thesame reference numbers in the same or different figures indicatessimilar or identical items or features.

FIG. 1 is a diagram showing an example environment that implements aworks-flow timing service to receive job status information and managethe work-flow timing of service jobs across work stations, as describedherein in accordance with various embodiments.

FIG. 2 is a diagram showing an individual service facility equipped withwork stations to perform a variety of types of jobs, as described hereinin accordance with various embodiments.

FIG. 3 is a flow diagram showing an example process that creates a newservice job for a customer, as described herein in accordance withvarious embodiments.

FIG. 4 is a flow diagram showing an example process that communicates tocustomers, or that informs the customers of, timing information relatedto the servicing of their items, as described herein in accordance withvarious embodiments.

FIG. 5 illustrates an example graphical user interface directed tocreating a new job and/or generating a work order, as described hereinin accordance with various embodiments.

FIG. 6 illustrates an example graphical user interface directed todisplaying timing information associated with service jobs and/ornotifying customer of the timing information, as described herein inaccordance with various embodiments.

FIG. 7 is a flow diagram showing an example process that changes thestatus of a job based on job status information, as described herein inaccordance with various embodiments.

FIG. 8 illustrates an example graphical user interface directed toreceiving job status indications from technicians operating the workstations, as described herein in accordance with various embodiments.

FIG. 9 illustrates an example user interface directed to displaying thestatus of jobs to a manager or advisor of a service facility, asdescribed herein in accordance with various embodiments.

FIG. 10 is a flow diagram showing an example process that determinesactual durations of times it takes to complete jobs to determine anaverage duration for jobs of a particular job type, as described hereinin accordance with various embodiments.

FIG. 11 is a flow diagram showing an example process that generatesperformance reports based on actual timing information associated withactually completed jobs, as described herein in accordance with variousembodiments.

FIG. 12 illustrates an example graphical user interface directed todisplaying an average duration of time it takes for individualtechnicians to complete jobs of a particular type, as described hereinin accordance with various embodiments.

FIG. 13 illustrates an example graphical user interface directed todisplaying a number and percentage of jobs actually completed within athreshold period of time of an estimated duration of time to completion,as described herein in accordance with various embodiments.

FIG. 14 illustrates an example graphical user interface directed todisplaying a number of jobs actually completed by a technician for agiven period, as described herein in accordance with variousembodiments.

FIG. 15 illustrates an example graphical user interface directed todisplaying a number and percentage of jobs actually started within athreshold period of time of an estimated start time, as described hereinin accordance with various embodiments.

FIG. 16 illustrates an example graphical user interface directed todisplaying a number and percentage of jobs actually finished within athreshold period of time of an estimated duration, as described hereinin accordance with various embodiments.

FIG. 17 illustrates an example graphical user interface directed todisplaying a performance report that summarizes a number of actualcompleted jobs for a given period according to work type, as describedherein in accordance with various embodiments.

FIG. 18 illustrates an example graphical user interface directed todisplaying a performance report that determines differences between anestimated duration of time to complete jobs of a particular type and anactual duration of time to complete jobs of the particular type, asdescribed herein in accordance with various embodiments.

DETAILED DESCRIPTION

The system and/or processes described herein are configured to help anentity operating one or more service facilities manage the timing ofservice jobs across work stations. The entity manages the timing basedon receiving, and tracking, job status information received from thework stations. For instance, after receiving the job status information,the entity may implement timing mechanisms to estimate or predict a timewhen a service job is likely to begin. The time when a service job islikely to be begin may be referred to herein as an “estimated starttime”. The entity may also use the timing mechanisms to estimate orpredict a time when the service job is likely to be completed. The timewhen the service job is likely to be completed may be referred to hereinas an “estimated complete time”. Accordingly, the estimated timinginformation may be based on tracked actual timing information fromservice jobs actually completed at work stations.

A service job (“job”), as used in this document, is associated with workto be performed on an item by a service facility or service center. Thework may comprise a specific process to follow and/or an itemmaintenance checklist of one or more work items to conduct. For example,a service job may be an “oil change” job, the service facility may be anautomobile maintenance service facility, and the work to be performedmay comprise draining the old oil, changing an oil filter, and fillingthe oil reservoir of the automobile with new oil.

In various embodiments, the estimated start time of a service job, theestimated complete time of the service job, and/or an estimated durationof time that remains until the service job is completed (e.g., after theservice job has started), may be communicated to a customer (e.g., via aWeb page located via a URL, via a push notification such as an email, atext, a social network message/notification, etc.). Consequently, theentity provides transparency and visibility to the customer whichimproves the customer experience. That is, the customer may be informedof an accurate estimated start time and/or an accurate estimatedcomplete time so that they can adapt and/or plan their personal schedulearound the servicing of their item. For example, a representative of theservice facility may use the techniques herein to inform the customerthat an estimated next available start time for a service job is twohours away or ten minutes away. In the scenario where the estimated nextavailable start time is two hours away, the customer may be more likelyto not have an item serviced at that time and would rather come backanother time (e.g., the next day or the next week). In the scenariowhere the next available start time is ten minutes away, the customermay be more likely to agree to have the item serviced at that time. Insome instances, a customer may view the estimated next available starttime on a Web page, via a network connection (e.g., the Internet),without having to physically visit or arrive at a service facility. Thecustomer may then, in response to the viewing, be able to make aninformed decision on whether or not to reserve the estimated nextavailable start time to have their item serviced. The customer mayreserve the estimated next available start time via the Web page or viaa telephone call to the service facility. Once reserved, the servicefacility may expect the customer to show up with a serviceable item apre-determined amount of time before the estimated next available starttime communicated to the customer (e.g., at least five minutes before,at least ten minutes before, at least fifteen minutes before, etc.).

In some embodiments, the entity may use the job status information andthe timing mechanisms to generate performance metrics. The performancemetrics may be determined based on a comparison of estimated timinginformation for jobs (e.g., the timing information communicated tocustomers at a time a job work order is created) and actual timinginformation associated with the actual completion of the jobs. Moreover,the performance metrics may be generated for, and/or specific to, anyone of an individual employee (e.g., a technician operating anindividual work station), an individual service facility with multiplework stations, or multiple service facilities operated by the entity.The entity may use the performance metrics to evaluate individualemployees, individual service facilities, and/or multiple servicefacilities over a given time period (e.g., an hour, two hours, fourhours, a day, two days, one week, a month, etc.). The evaluation may beused to determine bonuses based on exceptional work, to set up a meetingwith an employee that is struggling to perform to a certain standard, toidentify an employee of the month, to determine time periods when anestimated wait is long (e.g., greater than thirty minutes, greater thanan hour) and/or an estimated wait is short (e.g., less than thirtyminutes, less than fifteen minutes), to make staffing decisions at aparticular facility based on the estimated wait time (e.g., staff morepeople during a busy lunch hour, staff less people during a slow periodin the afternoon), to identify busy time periods when a facilitystruggles to stay on schedule, to identify slow time periods when afacility is able to stay on schedule, etc. The entity may also use theperformance metrics to compare and/or rank the performance oftechnicians, service facilities, and/or geographical regions (e.g., zipcodes, cities, counties, states, etc.) in which the service facilitiesare located.

In various implementations discussed herein, the work associated with aservice job is performed by one or more humans (e.g., a technician). Inalternative implementations, the work may be performed by one or moremachines (e.g., mechanical equipment, robots, etc.). In some instances,the work may be performed by both humans and machines (e.g., humans thatinstruct or operate the machines).

In at least one embodiment, the system and/or processes described hereinmay be implemented in an environment where customers physically visit aservice facility or service center to have an item worked on. Thecustomer may visit the service facility without a confirmed appointmentor reservation made in advance. Moreover, the customers may often remainat the facility while their item is being serviced (e.g., the customermay sit in a waiting room while an automobile is being serviced, thecustomer may sit in a chair while hair is being styled, etc.). Such aservice environment may be referred to as a “no appointment necessary”and/or “service while you wait” environment that commonly includesmultiple work stations equipped to perform a variety of different typesof service jobs. The service jobs performed in a “no appointmentnecessary” and/or “service while you wait” environment typically includerepetitious work in which the process to perform a particular type ofservice job is the same, or at least similar, from one service job ofthe type to the next service job of the same type (e.g., an oil changeon a first automobile typically involves the same or similar workprocess as an oil change on a second automobile). Put another way,technicians performing the work may not be required to diagnose ordetermine the cause of a problem with an item (e.g., an automobilemaking an odd noise). Rather, the technicians conduct the same processor checklist of maintenance items over and over and over again forservice jobs of a particular type. Consequently, an amount of time ittakes to complete a service job of a particular type most likely haslittle or no variation from one service job to the next.

In various implementations, the entities discussed herein may operatethe facilities in accordance with rules and/or policies that do notallow customers to schedule or reserve a time slot for service or anappointment for service in advance. For example, the rules and/orpolicies may specify that a customer has to physically visit and arriveat a facility before a work order for a service job can officially becreated and added to a list of queued service jobs waiting to beprocessed. In another example, the rules and/or policies may specifythat the customer can call in or get online to reserve a time slot(e.g., the estimated next available start time) for service or anappointment for service in advance as long as the reservation is madewithin a threshold period of time of the reserved start time for theservice job. In various implementations, this threshold period of timemay be shorter (e.g., two hours before the service job is estimated orpredicted to be started, four hours before the service job is estimatedor predicted to be started, only the “day of” reservations, etc.)compared to service facilities (e.g., an auto repair shop) that allowcustomers to schedule appointments far in advance for a problemdiagnosis and/or a major repair (e.g., two days in advance, a week inadvance, a month in advance, etc.). As discussed above, in someimplementations, a customer may reserve the estimated next availablestart time via an online reservation or via a telephone callreservation, and as part of the reservation, the customer may agree tophysically arrive or be located at the service facility a pre-determinedamount of time before the estimated next available start time (e.g.,five minutes, ten minutes, fifteen minutes, etc.).

In various embodiments, the service facilities may be auto shops (e.g.,quick maintenance auto shops) and the serviceable item may beautomobiles. While at least some of the examples used herein aredescribed with respect to auto shops equipped with various work stationsto check and/or perform maintenance on automobiles, it is understoodthat the system and/or processes described herein may be implemented inother service environments and service facilities equipped with workstations to work on, and maintain, other items as well. For example,other embodiments of the service facilities may include shops that workon customer items such as boats, jet skis, motor cycles, bicycles, snowskis, etc. Moreover, even further embodiments of the service environmentmay include a hair salon (e.g., the item is a customer's hair), amassage parlor (e.g., the item is a customer's body or a portion of thebody such as a back or neck), a beauty salon (e.g., the item iscustomer's face where makeup is applied), a nail salon (e.g., the itemis a customer's finger nails or toe nails that receive a manicure orpedicure), etc. Thus, the serviceable item may be a detached item whichthe customer owns and/or possesses (e.g., an automobile, a bicycle,etc.). Or, the item may be part of, or attached to, the customer (e.g.,hair, muscles, toe nails, finger nails, etc.).

In further embodiments, the techniques and/or systems discussed hereinmay perform a service job remotely (e.g., the customer may not have tophysically bring the item to a service facility to have it worked on).For example, a technician may be operating a work station at a firstlocation (e.g., a desk or cubicle located at a corporate office) and acustomer and the customer's item may be at a second location (e.g., thecustomer's home address) while being worked on. The technician maycommunicate with the customer over a network connection or a phone lineto service the customer's item and perform a service job of a particulartype. For instance, the item may be a home computing device and theservice job may be associated with fixing the computing device orinstalling/updating software on the computing device. Therefore, anentity that remotely services items may also determine timing estimates(e.g., an estimated start time, an estimated complete time, an estimatedduration of time to complete a job of a particular type, an estimatednext available start time, etc.) associated with service jobs.

The systems and/or processes described herein are implemented by aworks-flow timing service configured to receive job status informationfrom work stations and implement timing mechanisms based on the jobstatus information. The job status information may include an indicationthat a service job has actually been started and/or an indication thatthe service job has actually been completed. Via use of the timingmechanisms, the works-flow timing service is able to provide and/orcommunicate, to the customers, an updated or real-time status ofestimated timing information for service jobs currently being performedin an automobile shop or other service facility and for service jobswaiting to be performed.

In various embodiments, the works-flow timing service may also be ableto determine an estimated start time for a next service job to becreated (e.g., for the next customer). This may be referred to as theestimated next available start time discussed above. Consequently,customers are able to make an informed decision regarding the servicingof their item. For example, a customer may decide to have theirautomobile serviced on a different day due to a long estimated wait(e.g., greater than one hour). In another example, the customer maydecide that there is enough time to leave a service facility (e.g., notsit in the waiting room at the auto shop) and return before the servicejob is supposed to be completed after being informed of an estimatedcomplete time.

FIG. 1 illustrates an example environment 100 that implements the systemand/or processes described herein. The environment 100 includes aworks-flow timing service 102 implemented on one or more entitydevice(s) 104. The works-flow timing service 102 is configured toreceive job status information and manage the timing of service jobs(i.e., track and manage the work-flow). The works-flow timing service102 may be configured to determine timing information for jobs currentlybeing performed or waiting to be performed based on the job statusinformation and/or a type of job. The timing information may include anestimated start time, an estimated complete time, an estimated durationof time remaining until the job is completed (e.g., a live countdown fora job that has already started), and/or an estimated next availablestart time.

As discussed herein, an entity operating the entity device(s) 104, andthe works-flow timing service 102, may be a company, a corporation, anenterprise, a government agency, an educational department, a non-profitorganization or any other establishment configured to offer services tocustomers. Therefore, the environment 100 shows customer(s) 106, whereeach customer 106 is associated with a serviceable item 108. In someimplementations, a customer 106 may also be associated with a customerdevice 110 configured to receive, and display to the customer, updatesand/or notifications of timing information relating to the servicing ofan item 108. For example, an update or notification may include anestimated start time, an estimated complete time, and/or an estimatedduration of time remaining until a job that has already started iscompleted, etc. In this manner, the customer may be kept informed aboutwhen servicing of their item will most likely begin, when servicing oftheir item will most likely be completed, and/or their place in an orderof jobs waiting to be started, etc.

To service an item 108 of a customer 106, the entity may operate one ormore service facilities 112. Each service facility may include one ormore work stations 114(1) . . . 114(N), wherein N is an integer numbersuch as one, two, three, four, five, eight, ten, twenty, etc. As furtherdiscussed herein, a technician may be assigned to an individual workstation, e.g., 114(1), to perform a service job on an item 108 of thecustomer 106. A technician, in the context of this document, maycomprise an individual technician or multiple technicians (e.g., two ormore technicians) that control an individual work station, e.g., 114(1).For example, the service job may be a job capable of being performed byone person (e.g., an oil change, styling of hair, a back massage, etc.).Or, the service job may be a job that, for any one of a variety reasons,the entity would like more than one technician to perform (e.g., the jobrequires multiple people, efficiency is improved if multiple peopleperform the job, etc.). Accordingly, a technician may include, but isnot limited to, a mechanic, a repair man or woman, a hair stylist, amasseuse, a make-up artist, an equipment tuner (e.g., skis, bicycles,etc.) and so forth. In some service environments, a work station mayalso be referred to as a stall, a team or any other identifier or labelthat can separate one service unit from the next (e.g., work station114(1) from work station 114(2)).

In some embodiments, a machine (e.g., a robot) may be the controller ofa work station 114(1) . . . 114(N) instead of a technician. Oralternatively, the technician may work in conjunction with a machine(e.g., operate and/or instruct the machine) to perform the service joband work on the item 108.

In the course of a given operation period (e.g., a day, a week, etc.),the technician may continuously receive and process service jobs of aparticular type or service jobs of a variety of types. Moreover, workstations 114(1) . . . 114(N) may be assigned one or more work stationdevices 116 configured to communicate, to the entity device(s) 104,information regarding the status of a job (referred to herein as “jobstatus information”). For example, a technician may use a work stationdevice 116 to communicate, e.g., to an entity device 104, that a servicejob has been drawn from a list of queued service jobs waiting to bestarted. The technician may use the work station device 116 tocommunicate, e.g., to an entity device 104, an indication of an actualstart time for the job and/or an indication of an actual complete timefor the job.

In various embodiments, a work station device 116 may be assigned toeach of the work stations 114(1) . . . 114(N). In other embodiments,multiple work stations 114(1) . . . 114(N) may share a work stationdevice 116. In some implementations, the technicians may communicate thejob status information to the entity device(s) 104 independent of usinga work station device 116, such as by physically walking from a firstlocation of the work station 114(1) to a second location of the entitydevice 104 to verbally communicate the indications. A representative ofthe service facility 112 other than the technicians may then enter thejob status information at an entity device 104. For example, therepresentative may be a manager, an advisor, a supervisor, areceptionist, a secretary a scheduler, etc.

Each of the devices (e.g., an entity device 104, a customer device 110,a work station device 116) in the environment 100 of FIG. 1 may be anyone of a variety of devices including, for example, a desktop computer,a laptop computer, a tablet computer, a netbook computer, a smart phone,a portable digital assistant (PDA), a web-enabled mobile phone, acellular phone, a gaming console, a set-top box, a multifunctioncommunication device, a server, or any other electronic device capableof communicating or storing job status information and/or determiningtiming information for service jobs.

In various embodiments, the communication between the entity device(s)104, the customer device(s) 106 and/or the work stations device(s) 116may comprise network communications. Thus, the environment in FIG. 1illustrates that the entity device(s) 104, the customer device(s) 106and/or the work stations device(s) 116 may be connected by one or morenetwork(s) 118. The one or more network(s) 118 may include, but are notlimited to, one or a combination of a Local-Area Network (LAN), aWide-Area Network (WAN), a Mobile Telephone Network MTN, Bluetoothcommunications, radio frequency communications, or other communicationtechnologies (e.g., wireless and/or wired). The one or more network(s)118 may conduct communications while the devices (e.g., an entity device104, a customer device 106 and/or a work stations device 116) arelocated at, or within, an individual service facility 112.Alternatively, the one or more network(s) 118 may conduct communicationswhile one or more of the devices are at a location separate from alocation of the service facility 112. For example, an entity device 104may be located at corporate headquarters. In another example, a customer106 may leave the service facility 112 to run errands after dropping offan item 108 for service and the customer 106 may want to receive timingupdates or notifications via a customer device 110 while running theerrands. In yet another example, a customer 106 may access a networklocation (e.g., a uniform resource locator for a Web page) associatedwith a service facility 112 to view the estimated next available starttime for a service job and/or reserve the estimated next available starttime.

Accordingly, the works-flow timing service 102 is configured to trackand manage the timing information of service jobs across work stations114(1) . . . 114(N) and/or inform customers of (i) a status of a jobcurrently being performed at a work station 114(1) . . . 114(N), (ii) astatus of a job in a queue waiting to be performed at a work station114(1) . . . 114(N), and/or (iii) an estimated next available start timefor a job for which a work order has not yet been generated.

In various embodiments, the timing information determined by theworks-flow timing service 102 may also include an actual duration oftime it takes to complete a job. The works-flow timing service 102 mayuse the actual duration of time to complete a job to determine (e.g.,compute or calculate) job timing averages for a technician, for aservice facility 112 or for multiple service facilities 112 operated bythe entity. The job timing averages may be used by a manager, asupervisor or advisor to generate reports from which performance can beevaluated, as further discussed herein.

The environment 100 of FIG. 1 shows that an entity device 104 of theworks-flow timing service 102 may include one or more processors 120 andcomputer-readable media 122. The computer-readable media 122 may includevolatile and nonvolatile memory, removable and non-removable mediaimplemented in any method or technology for storage of information, suchas computer-readable instructions, data structures, program modules, orother data. Such memory includes, but is not limited to, random accessmemory (“RAM”), read-only memory (“ROM”), electrically erasableprogrammable read-only memory (“EEPROM”), flash memory or other memorytechnology, CD-ROM, digital versatile disks (“DVD”) or other opticalstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, redundant array of independent disks(“RAID”) storage systems, or any other medium which can be used to storethe desired information and which can be accessed by devices. Thecomputer-readable media 122 may be implemented as computer-readablestorage media (“CRSM”), which may be any available physical andnon-transitory media accessible by the processor(s) 120 to executeinstructions stored on the memory. In one implementation, CRSM mayinclude RAM and Flash memory. In other implementations, CRSM mayinclude, but is not limited to, ROM, EEPROM, or any other tangiblemedium which can be used to store the desired information and which canbe accessed by the processor(s) 120.

The computer readable-media 122 may comprise a scheduling module 124, atiming module 126, an output module 128, and a performance module 130,each of which is further discussed herein. The computer-readable media122 may also comprise a job status information database 132. The jobstatus information database 132 may store job status informationassociated with jobs being performed at the work stations 114(1) . . .114(N) and/or waiting jobs for which a work order has been generated.The computer-readable media 122 may also comprise a job timinginformation database 134 to store timing information associated withjobs. It is understood, in the context of this document, that one ormore components (e.g., a module or a database) of the works-flow timingservice 102 may also be implemented on a work station device 116 as wellas an entity device 104. In some embodiments, the works-flow timingservice 102 may be implemented as software as a service (SaaS) by theentity operating the service facility or another entity.

As used herein, the term “module” is intended to represent exampledivisions of the software for purposes of discussion, and is notintended to represent any type of requirement or required method, manneror organization. Accordingly, while various “modules” are discussed,their functionality and/or similar functionality could be arrangeddifferently (e.g., combined into a fewer number of modules, broken intoa larger number of modules, etc.). Further, while certain functions andmodules are described herein as being implemented by software and/orfirmware executable on a processor, in other embodiments, any or all ofthe modules may be implemented in whole or in part by hardware (e.g., asan ASIC, a specialized processing unit, etc.) to execute the describedfunctions. In some instances, the functions and/or modules may beimplemented as part of an operating system. In other instances, thefunctions and/or modules are implemented as part of a device driver,firmware, and so on.

In various embodiments, the scheduling module 124 is configured toreceive the jobs status information from the work stations 114(1) . . .114(N). The scheduling module 124 is also configured to receiveinstructions, via input received from a representative (e.g., a manager,an advisor, a receptionist, etc.) or a customer 106, to generate and toprocess a work order for a new job and add the new job to a queue ofjobs waiting to be performed at one of the work stations 114(1) . . .114(N). The scheduling module 124 may store the job status informationin the job status information database 132 to be accessed at a latertime. The job status information may indicate that a respective job isone of “waiting” to be performed, has “started” to be performed inresponse to receiving an indication of an actual start time from a workstation device 116, or has been “completed” in response to receivinganother indication of an actual complete time from a work station device116. In some embodiments, the scheduling module 124 may also label a jobas (i) “canceled” if the job has been canceled for some reason or (ii)“on hold” of servicing on the job is delayed for some reason. Thus, thescheduling module 124 is able to manage the work-flow of service jobs bymaintaining the job status information.

In various embodiments, the timing module 126 determines (e.g.,computes, calculates, accesses, obtains, etc.) and maintains timinginformation for jobs. In some instances, the timing module 126determines the timing information based on the job status informationreceived from the work stations 114(1) . . . 114(N) and/or stores thetiming information in the job timing information database 134. Thetiming module 126 may also determine the timing information based on anumber of jobs and types of jobs in a queue waiting to be performed. Asfurther discussed herein, the timing information may include one or moreof an estimated start time for a job, an estimated complete time for ajob, an estimated duration of time that remains until completion of analready started job, and an estimated next available start time for anext job. The timing information may also include an actual duration oftime to complete a job, which may be used to generate performancereports. As further discussed herein, the actual durations of time tocomplete jobs may be sorted and stored according to individualtechnicians, individual service facilities, and/or individual job types.

In various embodiments, the output module 128 is configured to cause theentity device(s) 104, the customer device(s) 110 and/or the work stationdevice(s) 116 to output various graphical user interfaces (e.g., via adisplay screen, a monitor, a touch screen, etc.). The graphical userinterfaces may display or provide the job status information and/or thetiming information. In some implementations, the output module 128 isconfigured to output a graphical user interface on a display screen in awaiting room or lobby of a service facility 112 where a customer 106 maybe waiting for the service of their item 108 to be completed and wherethe customer can view the timing information displayed. In someimplementations, the output module 128 may communicate job statusinformation and/or timing information to a customer device 110 so thatit can be displayed at the customer device 110.

In various embodiments, the performance module 130 is configured toaccess the job timing information database 134 to generate one or morereports associated with performance metrics of an individual technician,an individual service facility 112, or multiple service facilities 112that are operated by the entity. The performance module 120 may generatethe reports based on a comparison of estimated timing information forjobs (e.g., the timing information communicated to customers at a time ajob work order is created) and actual timing information associated withthe actual completion of the jobs. For example, the performance module130 may generate reports that provide: an average amount of time tocomplete jobs of a particular type during a given time period (e.g., aday, five days, a month, etc.), a number of jobs of a particular typeactually completed during the given time period, a total number of jobsactually completed during the given time period, a number or percentageof jobs actually completed within a threshold period time (e.g., fiveminutes) after the estimated duration of time to complete a job of aparticular type expires, a number or percentage of jobs actually startedbefore or within a threshold period time of an estimated start time(e.g., the estimated start time communicated to a customer), a number orpercentage of jobs completed before or within a threshold period of timeof the estimated complete time (e.g., the estimated complete timecommunicated to a customer). It is contemplated that other reports maybe generated by the performance module 130 as well.

The reports may be used by a manager, a supervisor or an advisor toevaluate, and/or compare, the performance of technicians, servicefacilities, geographical regions in which at least one service facilityis located, etc. For example, the reports may be used by a manager oradvisor to evaluate a technician's performance and/or timeliness withrespect to processing and completing jobs (e.g., track improvement ortrack a learning curve of a new employee. The reports may also begenerated to analyze work-flow for a given operation period (e.g., aday, a week). This analysis may provide visibility related to busy orslow times at a service facility 112 (e.g., lunch hour compared to lateafternoon, a Saturday compared to a Wednesday, etc.). Moreover, theanalysis may provide visibility related to an employee (e.g., thetechnician) that is performing above expectations (e.g., timely andefficient work) or an employee that is performing below expectations(e.g., slow and inefficient work).

FIG. 2 illustrates an example diagram 200 that shows an individualservice facility 112 equipped with work stations 114(1) . . . 114(N) toperform a variety of types of jobs. In FIG. 2, a customer 106 visits orarrives at a service facility 112 to have an item 108 (e.g., anautomobile 202 in FIG. 2) serviced. In various embodiments, the customer106 may physically visit the service facility 112 to schedule theservice job with a service facility representative 204 (e.g., manager,advisor, receptionist, etc.) operating, or associated with, an entitydevice 104. In alternative embodiments, the customer 106 may use acustomer device 110 to access and view information about the servicefacility 112 over the network(s) 118. For example, the customer 106 mayuse a customer device 110 to view the estimated next available starttime for a job and/or reserve the estimated next available start timevia the network(s) 118.

As shown in FIG. 2, the entity device 104 may store information definingvarious job types 206(1) . . . 206(M). Each job type 206(1) . . . 206(M)may be pre-defined or pre-set based on a known or repetitious workprocess or a pre-configured checklist of maintenance duties to beperformed on an item (e.g., non-diagnostic work). Thus, each job type206(1) . . . 206(M) is associated with an estimated duration of time tocompletion 208(1) . . . 208(M). The number M may represent a wholenumber such as one, two, three, six, eight, ten, twenty-five and soforth. An estimated duration of time to completion (e.g., 208(1)) may bethe average duration of time it takes one or more technicians in theservice facility 112, or across multiple service facilities, to completejobs of a particular job type (e.g., previously completed jobs of jobtype 206(1)). The job types 206(1) . . . 206(M) and their respectiveestimated durations of time to completion 208(1) . . . 208(M) may bestored in the job timing information database 134.

In some embodiments, the estimated durations of time to completion208(1) . . . 208(M) may be iteratively determined (e.g., calculated) inaccordance with an update schedule (e.g., periodically updated, inresponse to an update event, etc.). For example, the estimated durationsof time to completion 208(1) . . . 208(M) may be calculated by thetiming module 126 based on averaging all the actual durations of time ittakes to complete previous jobs of a particular type in a given timeperiod (e.g., the last five days, the last thirty days, etc.). Moreover,the averaging may be based on the jobs of the particular type completedat an individual work station 114(1), an individual service facility112, or multiple service facilities operated by an entity (e.g., all theservice facilities).

For example, if a first technician actually completed two jobs of jobtype 206(1) in 44:15 (i.e., forty-four minutes and fifteen seconds) and46:08 yesterday and a second technician actually completed two jobs ofthe job type 206(1) in 43:27 and 45:06 yesterday, the timing module 126may calculate the estimated duration of time to completion 208(1) to be(44:15+46:08+43:27+45:06)/4=44:44, or forty-four minutes and forty-fourseconds. However, it is contemplated that, in many instances, theestimated durations of time to completion 208(1) . . . 208(M) may becalculated based on a larger sample (e.g., more than four actualdurations).

As discussed above, in a “no appointment necessary” and “service whileyou wait” environment, each job type 206(1) . . . 206(M) is typicallyassociated with repetitious work in which the process to perform aparticular job type (e.g., 206(1)) is the same, or at least similar,from one job to the next job. Since the work is typically repetitiousfor jobs of the same type, the amount of time it takes to perform jobsof the same type likely has little, or possibly no, variation from onejob to the next (e.g., less than five minute difference, less than tenminute difference, etc.). Consequently, the works-flow timing service102 discussed herein is able to determine accurate estimates of timinginformation associated with a job (e.g., an estimated start time, anestimated complete time, an estimated duration of time remaining, anestimated next available start time, etc.) and communicate the estimatesto customers 106 to improve the customer experience. In contrast, theamount of time it takes to perform jobs in a service environment thatperforms major repairs on automobiles typically varies significantlyfrom one job to the next as a result of needing to perform a diagnosisto identify the cause of the problem and make repairs accordingly.

In the example diagram 200 of FIG. 2, the service facility 112 may be anautomobile maintenance shop. In an automobile maintenance shop, a firstexample job type (e.g., job type 206(1)) may include a “works gas” jobtype that performs a check-list of maintenance items on a gasautomobile. For instance, the works gas may include (i) an oil change,(ii) an oil filter change, (iii) a tire rotation, and (iv) a multi-pointinspection involving checking the fluids, belts, hoses, air filter, tirepressure, shocks, exhaust, battery, any fluid leaks, transmission and/ordrive-train, steering components, and the brakes for any problems and/ordamage. The timing information module 126 may have determined orcalculated that, e.g., on average, it takes forty-five minutes tocomplete a job of the works gas type, and therefore, the estimatedduration of time to completion 208(1) for the works gas job type may beforty-five minutes, for example. A second example job type (e.g., jobtype 206(2)) may include a “works diesel” job type that performs acheck-list of maintenance items on a diesel automobile (e.g., the same,similar or different to the check-list discussed above for the “worksgas” job type). The timing information module 126 may have determined orcalculated that, on average, it takes sixty minutes to complete a job ofthe works diesel type, and therefore, the estimated amount of time tocompletion 208(2) for the works diesel job type may be sixty minutes,for example. The difference in estimated durations between a works gastype and a works diesel type may result from inherent differencesbetween a gas automobile and a diesel automobile that effect the amountof time it takes to perform maintenance. A third example job type (e.g.,job type 206(M)) may include a “tires” job type that changes the tires.The timing information module 126 may have determined or calculatedthat, e.g., on average, it takes seventy minutes to complete a job ofthe tires job type, and therefore, the estimated amount of time tocompletion 208(M) for the tires job type may be seventy minutes, forexample. The estimated durations provided above are examples only, andthus, may be different in real-world scenarios.

It is understood that the techniques and/or systems discussed herein maybe implemented in a service facility that services other items as well.For example, in a hair salon where an item 108 is the hair of a customer106, the job types 206(1) . . . 206(M) associated with known and/orrepetitious work from one job to the next may include one or more of amale haircut, a female haircut, a female hair style, a hair coloring, ahair perm, etc. In another example, in a massage parlor where an item108 is the body of a customer 106, the job types 206(1) . . . 206(M)with known and/or repetitious work from one job to the next may includeone or more of a full body massage, a neck massage, a back massage, afoot massage, a leg massage, etc.

Moving on, the representative 204, using the entity device 104, mayreceive information from the customer 106 and interact with thescheduling module 124 to write-up and create a work order that defines ajob to be added to queue of jobs waiting to be performed (e.g., waitingjobs 210). The waiting jobs 210 may be listed in a “first-in-first-out”queue so that they are processed in an order according to when thecustomers 106 agreed to have an item serviced at the service facility112.

The scheduling module 124 may then provide, or communicate, the waitingjobs 210 to the work stations 114(1) . . . 114(N). In variousembodiments, technicians 212 and 214 at the work stations 114(1) and114(N), respectively, may draw, e.g., via separate work station device116 or the same work station device 116, a waiting job 210 upon actualcompletion of a previous job being processed. Therefore, through a givenoperation period (e.g., a day, a week, etc.), a work station and/or atechnician may actually complete a number of jobs of a particular jobtype and/or a number of jobs of multiple job types 206(1) . . . 206(M).

As shown in FIG. 2, the technician 212 operating a first work station114(1) completes jobs 216(1) . . . 216(L), where each job is of aparticular, pre-defined job type discussed above. The number L mayrepresent a whole number such as one, two, three, four, eight, ten,twenty, forty and so forth. Moreover, the technician 214 operating theNth work station 114(N) completes jobs 218(1) . . . 218(K), where eachjob is also of a particular, pre-defined job type discussed above. Thenumber K may represent a whole number such as one, two, three, four,eight, ten, twenty, forty and so forth. The number L and the number Kmay be the same, but most likely will be different because of thedifferent technicians 212 and 214 and different types of jobs performedat the separate work stations 114(1) and 114(N).

In various embodiments, the work stations 114(1) . . . 114(N), e.g., viathe work station devices 116, communicate job status information 220 tothe entity device 104 to be stored in the job status informationdatabase 132. As further discussed herein, the job status information220 may comprise (i) an indication that a job (e.g., a waiting job 210)has been drawn by a technician (e.g., 212 or 214), (ii) an indication ofan actual start time for the drawn job, and/or (iii) an indication of anactual end time for the already started job.

The discussion herein provides example processes and example graphicaluser interfaces to further describe the techniques and/or systems. Theexample processes described are each illustrated as a logical flowgraph, each operation of which may represent a sequence of operationsthat can be implemented in hardware, software, or a combination thereof.In the context of software, the operations represent computer-executableinstructions stored on one or more computer-readable media that, whenexecuted by one or more processors, perform the recited operations.Generally, computer-executable instructions include routines, programs,objects, components, data structures, and the like that performparticular functions or implement particular abstract data types. Theorder in which the operations are described is not intended to beconstrued as a limitation, and any number of the described operationscan be combined in any order and/or in parallel to implement theprocess.

FIG. 3 describes an example process 300 that creates a new service jobfor a customer. In various embodiments, individual operations describedwith respect to FIG. 3 may be performed by various ones of the devicesdiscussed with respect to FIGS. 1 and 2.

At 302, the scheduling module 124 may receive customer information. Thecustomer information may include identification (e.g., a first and/orlast name), a phone number, an address and so forth. The customerinformation may be verbally communicated from the customer 106 to therepresentative 204 and then entered by the representative 204 at theentity device 104. Or, the customer information may be entered by thecustomer 106 via a customer device 110 or another device (e.g., awalk-up kiosk located at the service facility 112) and communicated tothe scheduling module 124 of the entity device 104 via network(s) 118.In some instances, the customer information may be previously stored andrecalled for a repeat customer.

At 304, the scheduling module 124 receives item information and/or jobinstructions. For example, the item information may include itemspecifics, such as a year of manufacture of an item, an identificationof a company that makes an item, a model or version number of an item,and/or a color of an item (e.g., a blue 2008 Toyota Camry, a white 2012Ford F250 pick-up). The item information may be used to distinguish oneitem 108 from another (e.g., identify an automobile 202). The jobinstructions may be received from the customer, or communicated by thecustomer, and may comprise an explanation that describes a problem withan item 108 or work the customer desires to be performed on the item108. Similar to the discussion in the preceding paragraph, the iteminformation and/or the job instructions may be verbally communicatedfrom the customer 106 to the representative 204 and then entered by therepresentative 204 at the entity device 104. Or, the item informationand/or the job instructions may be entered by the customer 106 via acustomer device 110 or another device and communicated to the schedulingmodule 124 of the entity device 104 via network(s) 118.

At 306, the scheduling module 124 correlates the item information and/orthe job instructions to a pre-defined job type (e.g., one of 206(1) . .. 206(M)) to be performed on the item 108. For example, if the iteminformation comprises a Toyota Camry and the job instructions areassociated with performing the “works” discussed above, then thescheduling module 124 may determine the job type to likely be that of a“works gas” job type (e.g., because a Toyota Camry most likely is a gasautomobile). In another example, if the item information comprises aFord F250 and the job instructions are associated with performing the“works” discussed above, then the scheduling module 124 may determinethe job type to be that of a “works diesel” job type if the Ford F250 isa diesel pick-up. If the Ford F250 is a gas pick-up, the job type may bethat of a “works gas” job type. In yet another example, if the jobinstructions are to perform a tire mount and balance (e.g., for fourtires), then the scheduling module 124 may determine the job type tolikely be that of a “tires” job type regardless of the make and model ofa car. Accordingly, the pre-defined job type to be performed on an itemmay be determined based on, or in consideration of, the item information(e.g., diesel or gas) and/or the explicit job instructions of thecustomer 106.

At 308, the scheduling module 124 identifies, based on a job type to beperformed (e.g., one of 206(1) . . . 206(M)), an estimated duration oftime to completion (e.g., one of 208(1) . . . 208(M)). The estimatedduration of time to completion for a started job being processed at oneof the work stations 114(1) . . . 114(N) or for a waiting job 210 isused by the timing module 126 to determine the timing information. Insome instances, the estimated duration of time to completion can becommunicated to the customer 106 (e.g., the representative tells thecustomer that the service job is likely to take forty-five minutes). Invarious embodiments, the estimated duration of time to completion mayfurther be based on more specific item information. For example, withina gas automobile category, an estimated duration of time to completionmay depend on a size of the automobile, a make and model of anautomobile and/or a year of manufacture.

At 310, the scheduling module 124 creates, e.g., based on an agreementfrom the customer 106 to have an item serviced, a new job to be added toa queue of waiting jobs 210 to be drawn by, or assigned to, a workstation 114(1) . . . 114(N). For example, after receiving theinformation discussed above, the representative 204 may confirm a workorder and the information discussed above (e.g., item information, jobinstructions, customer information, job type, estimated duration of timeto completion) may be stored in association with the work order in thejob status information database 132 with a label or status of “waiting”.In some instances, if a work station is available to start the job, thenewly created job may be immediately started at a work station withoutbeing added to the queue of waiting jobs 210, and thus, the work ordermay be stored in the job status information database 132 with a label orstatus of “started”.

In various embodiments, a representative 204 or an entity device 104 maycommunicate timing information to the customer 106 for considerationbefore the customer 106 agrees, or decides, to have the item serviced atthe service facility 112. The timing information may include anestimated next available time slot associated with an estimated starttime. The timing information may also include an estimated complete timebased on an estimated start time and an estimated duration of time tocompletion (e.g., if estimated start time is 9:15 AM and estimatedduration of time to completion is thirty minutes, then the estimatedcomplete time would be 9:45 AM).

The service facility 112 may repeat the example process 300 for eachcustomer 106 that instructs the service facility 112 to service an item108.

FIG. 4 describes an example process 400 that communicates to customers,or that informs the customers of, timing information related to theservicing of their items (e.g., real-time, live timing information abouta service job). In various embodiments, individual operations describedwith respect to FIG. 4 may be performed by various ones of the devicesdiscussed with respect to FIGS. 1 and 2.

At 402, the works-flow timing service 102 receives job statusinformation and stores it in the job status information database 132.For example, the scheduling module 124 may have generated a number ofwork orders for service jobs and added the service jobs to a queue ofwaiting jobs 210 (e.g., a “waiting” status). In another example, thescheduling module 126 may receive indications from the work stations114(1) . . . 114(N) and store job status information based on theindications received. For example, an indication may convey that awaiting job has been drawn by a work station (e.g., a “drawn” or“preparing” status), an indication may convey that a waiting or drawnjob has actually been started (e.g., a “started” status), or anindication may convey that a started job has actually been completed(e.g., a “completed” status). Accordingly, the job status informationdatabase 132 may store a list of service jobs and their respectiveassociated statuses.

At 404, the works-flow timing service 102 determines timing informationfor the jobs based on the job status information and/or the estimateddurations of time to complete jobs of particular types. For example, thetiming information may include, but is not limited to, an estimated nextavailable start time, an estimated start time for a waiting job, anestimated complete time for a started job or for a waiting job, and/oran estimated duration of time remaining until a job that has alreadystarted is completed. The timing information may be determined by thetiming module 126, which is configured to calculate the timinginformation based on a number of active work stations equipped toperform the jobs, a number of waiting jobs, a number of started jobs andthe time remaining, and the estimated durations of time to complete jobsof a particular type (e.g., 208(1) . . . 208(M)) that are associatedwith the waiting jobs, as further discussed herein with respect to theexample graphical user interface of FIG. 6. The calculated timinginformation may then be stored in the job timing information database134. Moreover, the timing information may also be determined by othermodules or components of the works-flow timing service 102 (e.g., thescheduling module 124, the output module 128 and/or the performancemodule 130), which individually may access the timing information afterthe timing information has been calculated by the timing module 126 andstored in the job timing information database 134.

At 406, the output module 128 may communicate the timing information orcause the timing information to be output (e.g., displayed on a device).For example, the output module 128 may send some or all of the timinginformation to a customer device 110. In another example, the outputmodule 128 may cause some or all of the timing information to bedisplayed via a display screen in a waiting room at the servicefacility.

Operation 402, 404 and/or 406 may be repeated such that accurate timinginformation can continually be determined and provided to customers 106that visit the service facility 112 to have their items services and/orto customers 106 that desire to view the timing information overnetwork(s) 118. Moreover, the timing information may be providedinternally to employees of the service facility 112 as well.

In various embodiments, at 408, the scheduling module 124 may assign anewly created job (e.g., from operation 310) to an estimated nextavailable start time. For example, a representative 204 may confirm thata customer 106 ha agreed to have an item services. In another example,the customer 106 may reserve the next available start time to have anitem serviced by entering information online (e.g., customer informationand item information) and confirming a service job via the network(s).The operations of FIG. 4 may be repeated again.

This disclosure contains discussion corresponding to various exampleuser interfaces. An example graphical user interface may include numbers(e.g., a number of completed service jobs, calculated performancenumbers, etc.). The numbers displayed are example numbers only, and mayvary based on the service environment (e.g., auto maintenance shop,massage parlor, hair salon, etc.). In some instances, the numbers maynot be real-world, practical numbers.

FIG. 5 illustrates an example graphical user interface (GUI) 500directed to creating a new job or generating a work order. The exampleGUI 500 displays entry windows where information about the customer 106and/or the item 108 to be serviced can be entered (e.g., byrepresentative 204 or customer 110) so a new job can be created (e.g.,as discussed above with respect to FIG. 3). For example, the example GUI500 displays an entry window 502 that identifies the representative 204entering the information (referred to as an advisor “Joe Smith”, in thisexample), an entry window 504 that identifies the customer (e.g., afirst and last name), an entry window 506 in which item information suchas a model of an automobile can be entered, an entry window 508 in whichother item information such as a year of manufacture of the automobilecan be entered. It is understood that other item information andcustomer information may be entered as well.

The example GUI 500 further displays an entry window 510 for a job type(also referred to as a “work type”) where a selection of one of multiplepre-defined job types 206(1) . . . 206(M) can be made. The selection maybe made by the person entering the information (e.g., representative204), e.g., via a drop-down menu and based on explicit job instructionsreceived from the customer 106. In some embodiments, the selection maybe an automatic selection based on the item information (e.g., a gasworks job type is automatically selected for a gas automobile). Entrywindow 512 displays the estimated duration of time to complete the jobof the particular job type selected via entry window 510 (e.g., one ofestimated durations of time to completion 208(1) . . . 208(M)). Invarious embodiments, the advisor “Joe Smith” may modify the duration oftime in window 512 based on various considerations.

The example GUI 500 also displays an entry window 514 for a work orderidentifier (e.g., a repair order (RO) number). This identifier or numbermay be manually input or automatically populated (e.g., sequentialnumbering), and is used by the works-flow timing service 102 to identifyand process individual jobs. Once the information is entered and/oragreement from the customer is received, the new job can be created viathe “create job” option 516.

Finally, the example GUI 500 displays the estimated next available starttime 518. Accordingly, a representative 204 providing input to the entrywindows of the example GUI 500 can conveniently and efficiently see theestimated next available start time (e.g., 9:41 AM) and verballycommunicate the estimated next available start time 518 and/or theestimated end time (e.g., 9:41 AM plus 45 minutes, or 10:26 AM) to thecustomer 106 to improve the customer experience. In someimplementations, the customer may view the next available start time 518on his or her own customer device 110 before making a decision onwhether or not to reserve the next available start time 518 to have anitem serviced.

Accordingly, a person such as the representative 204 or customer 106 maybe able to enter text in the separate entry windows, or an entry windowmay be configured as drop-down menu from which particular selections canbe made (e.g., a job type selection).

FIG. 6 illustrates an example GUI 600 directed to displaying the timinginformation determined by the timing module 126. The example GUI 600includes a first portion 602 showing timing information for “started”jobs currently being performed in the service facility (e.g., the“shop”) and a second portion 604 showing timing information for jobs“waiting” to be performed that may reside in the queue of waiting jobs210. The timing information displayed in the example GUI 600 may bebased on a number of active work stations equipped to perform the jobs(e.g., four in the example of FIG. 6), a number of waiting jobs (e.g.,three in the example of FIG. 6), a number of started jobs and the timeremaining for each started job, and the estimated durations of time tocomplete jobs of a particular type (e.g., 208(1) . . . 208(M)). Theexample GUI 600 may be displayed on a display screen in a waiting roomat the service facility 112 and/or may be accessible by customer devices110 via network(s) 118.

The first portion 602 may provide, e.g., to customers 106, real-time andlive information associated with the timing of the work currently beingperformed on their items (e.g., for “started” jobs). As shown in thefirst portion 602 of example GUI 600, an estimated duration of timeremaining until the job is expected or supposed to be completed isdisplayed to a customer (e.g., a timer countdown). Alternatively oradditionally, the estimated complete time may be shown (e.g., if twentyminutes remain on a job and the current time is 9:40 AM then theestimated complete time would be 10:00 AM).

The estimated duration of time remaining until the job is expected orsupposed to be completed may be based on an indication of an actualstart time and an estimated duration of time to completion (e.g., one of208(1) . . . 208(M)) for a particular job type (e.g., one of 206(1) . .. 206(M)). For example, if a job was actually started at 9:30 AM, theestimated duration of time to completion for the job is forty-fiveminutes, and the current time is 9:40 AM, then the estimated duration oftime remaining until the job is supposed to be completed would bedetermined by the timing module 127 to be thirty-five minutes.

As seen in the first portion 602 of the example GUI 600, (i) atechnician named “Jim” is working on a 2012 “Escape” of a customer named“Lori” and 25:47 (i.e., twenty-five minutes and forty-seven seconds)remain until the job is expected or supposed to be completed, (ii) atechnician named “Sue” is working on a 2011 “XTerra” of a customer named“Steve” and 12:13 remain until the job is expected or supposed to becompleted, (iii) a technician named “Sally” is working on a 2013“Explorer” of a customer named “Binns” and 5:51 remain until the job isexpected or supposed to be completed, and (iv) a technician named “Jeff”is working on a 2013 “F150” of a customer named “Debbie” and 33:51remain until the job is expected or supposed to be completed. In thisexample, the service facility 112 may currently be operating four activework stations with individually assigned technicians. Additionally,other information may be displayed as well to improve the customerexperience such as a photo of the technician and/or technicianqualifications, a job type being performed by a technician on thecustomer's item (e.g., gas works, diesel works, tires, etc.).

The second portion 604 of the example GUI 600 displays the waiting jobs.A first job for Stephanie's 2012 “Camry” is estimated to start at 9:15AM, a second waiting job for Tim's 2010 “Impala” is estimated to startat 9:21 AM, and a third job for Ralph's 2011 “Jetta” is estimated tostart at 9:35 AM.

Based on the timing information in the first portion 602 of example GUI600, the current local time may be approximately 9:09 AM (e.g., give ortake a minute or two) at least because Sally has a job with a lowestremaining duration of time until completion and Sally is supposed to befinished with Binns' 2013 “Explorer” in approximately six minutes (e.g.,5:51). Accordingly, the timing module 126 has calculated that work onStephanie's 2012 “Camry” (e.g., the next work order to be drawn from afirst-in-first-out queue) is estimated to begin six minutes from thecurrent time of 9:09 AM (i.e., at approximately 9:15 AM) and the jobassociated with Stephanie's 2012 “Camry” will most likely be drawn bySally (e.g., assuming she completes her current job on-time or close toon-time). After Sally, Sue is the next technician expected to complete ajob, e.g., on Steve's 2011 “XTerra”, in approximately twelve minutes(e.g., 12:13). Accordingly, the timing module 126 has calculated thatwork on Tim's 2010 “Impala” is estimated to begin twelve minutes fromthe current time of 9:09 AM (i.e., at approximately 9:21 AM) and the jobassociated with Tim's 2010 “Impala” will most likely be drawn by Sue(e.g., assuming she completes her current job on-time or close toon-time). After Sue, Jim is the next technician expected to complete ajob, e.g., on Lori's 2012 “Escape”, in approximately twenty-six minutes(e.g., 25:47). Accordingly, the timing module 126 has calculated thatwork on Ralph's 2011 “Jetta” is estimated to begin twenty-six minutesfrom the current time of 9:09 AM (i.e., at approximately 9:35 AM) andthe job associated with Ralph's 2011 “Jetta” will most likely be drawnby Jim (e.g., assuming he completes his current job on-time or close toon-time).

Finally, if there are no other jobs waiting besides the three shown(e.g., the automobiles for Stephanie, Tim and Ralph), the timing module126 may calculate the estimated next available start time 606 based onthe estimated duration of time remaining for Jeff to complete work onDebbie's 2013 “F150” (e.g., approximately thirty-four minutes or 33:51).Accordingly, the estimated next available start time 606 would bethirty-four minutes after 9:09 AM, or 9:43 AM.

In various embodiments, a first service facility may also display a nextavailable start time of one or more other service facilities. Forinstance, if the first service facility currently has a long estimatedwait (e.g., the next available start time is more than an hour from thecurrent time), the first service facility may access and display timinginformation from other service facilities that may have a shorterestimated wait (e.g., no wait, fifteen minutes, thirty minutes, etc.).The access and display of the timing information from other servicefacilities may be based on geographical information (e.g., the otherservice facilities are in the same zip code or in the same city as thefirst service facility) or a threshold distance (e.g., the other servicefacilities are within ten or twenty miles of the first servicefacility). In this scenario, a customer may be more likely to visitanother service facility if it is close.

As seen from the examples provided above, to calculate the timinginformation, the timing module 126 uses (i) job status information(e.g., an actual start time of a job) received from a technician and/ora work station and (ii) the estimated durations of time to completionfor jobs of a particular type. The calculations may be made based on anumber of work stations and a number of jobs in the waiting queue. Invarious implementations where the number of waiting jobs exceeds thenumber of work stations (e.g., there are six job waiting and four activeor operating work stations), the timing module 126 may consider anestimated duration of time to completion of a waiting job to calculatethe timing information. For example, a waiting job at the bottom of thequeue may have an estimated start time based on an estimated duration oftime to completion of a waiting job at the top of the queue (e.g., basedon the current timing information, both waiting jobs may be drawn by thesame technician).

In various embodiments, the timing module 126 may consider an additionalset amount of time (e.g., one minute, two minutes, five minutes) ittypically takes for a technician and/or work station to transitionbetween jobs (e.g., move a completed item out of a work station, move anew item to be serviced into the work station, etc.). This amount oftime may be referred to as a “buffer” or “prepare” time and may befactored in to the determination/calculation of the timing estimates. Invarious embodiments, the buffer or prepare time may be part of, orincluded, in the estimated duration of time to completion (e.g., 208(1). . . 208(M)).

In some instances where a started job is not completed when expected(e.g., the job takes longer than it is supposed to), the timing module126 may update the timing information. For example, continuing theexample in FIG. 6, if Sally is delayed by more than six minutes for anunforeseen reason and Sue finishes work on Steve's 2011 “XTerra” beforeSally finishes work on Binns' 2013 “Explorer”, then Stephanie's 2012Camry may be drawn by Sue instead of Sally. At this time, the estimatedstart times may be updated to reflect that Sally is delayed by more thansix minutes.

Accordingly, the output module 128 is configured to access or stream thetiming information calculated by the timing module 126 and cause thetiming information to be displayed (e.g., a live count-down, real-timeupdates). Consequently, a customer 106 such as Lori can see theestimated duration of time until service on her 2012 Escape is expectedto be completed (e.g., a count-down from 25:47→25:46→25:45→25:44 and soforth).

FIG. 7 describes an example process 700 that changes the status of a jobbased on job status information. In various embodiments, individualoperations described with respect to FIG. 4 may be performed by variousones of the devices discussed with respect to FIGS. 1 and 2.

At 702, the scheduling module 124 maintains a queue of jobs with a“waiting” status (e.g., the waiting jobs 210).

At 704, the scheduling module 124 receives (i) an indication that atechnician and/or a work station is available and has drawn a job fromthe queue of waiting jobs and/or (ii) an indication that work on the jobhas actually been started.

At 706, the scheduling module 124 updates the status of the job from a“waiting” or “ready” status to a “started” status.

At 708, the timing module 126 may start a timer for the started job uponreceiving the indication that work on the job has actually been started.For example, the timing module 126 may set the timer in accordance withan estimated duration of time to completion (e.g., one of 208(1) . . .208(M)) based on a job type (e.g., one of 206(1) . . . 206(M)) of thejob so that a count-down can commence. For instance, if the estimatedduration of time to completion is forty-five minutes, then the timingmodule 126 may start a forty-five minute timer upon receiving theindication that work on the job has actually been started.

At 710, the timing module 126 or the timer may continually update thetiming information based on the estimated duration of time to completethe job of a particular type. For example, the timer may provide a livecount-down conveying the estimated time remaining until completion andthe output module 128 may communicate or display the live count-down forthe job being processed. In one example scenario, if five minutes haveelapsed since receiving the indication of an actual start time and theestimated duration of time to complete the job is forty-five minutes,then the timing information communicated or displayed will indicate thatan estimated forty minutes remain until the job is supposed to becompleted. Accordingly, the customer 106 is able to view an updated andaccurate estimate of how much time remains until expected completion ofthe job and/or an accurate estimate of an expected completion time.

At 712, the scheduling module 124 receives an indication that work onthe job has actually been completed.

At 714, the scheduling module 124 updates the status of the job from a“started” status to a “completed” status.

In various embodiments, the timing module 126 may calculate, based onthe actual start time (e.g., 9:30 AM) and the actual end time (e.g.,10:10 AM), an actual duration of time to complete the job (e.g., fortyminutes) and store the actual duration of time to complete the job inthe job timing information database 134 so that it can be accessed andused to generate performance reports, as further discussed herein.

FIG. 8 illustrates an example GUI 800 directed to receiving job statusindications from technicians operating the work stations 114(1) . . .114(N). For example, a technician (e.g., “Jim Williams” in FIG. 8) mayview the example GUI 800 via a work station device 116 to provideindications such as those discussed above with respect to the exampleprocess 700 of FIG. 7. The technician may visit the work station device116 after completing a previous job, and thus, the technician and thework station are available to work on another job from the queue ofwaiting jobs 210. In another example, the technician may view theexample GUI 800 at the entity device 104 and provide input at the entitydevice 104.

The example GUI 800 displays a “draw next job” option 802. In responseto selecting the draw next job option 802, an indication is sent to theentity device 104 so that another job can be pulled from the queue ofwaiting jobs 210 and/or assigned to the technician and his/her workstation. The example GUI 800 may display a portion of information 804that corresponds to the drawn job (e.g., a work order number or a ROnumber, a customer name, a vehicle year and model, a job type, etc.),which was created by a specific advisor (e.g., “Joe Smith”). The portionof information 804 includes a “started” option 806 which a technicianselects so that an indication of an actual start time is communicated tothe entity device 104 when the technician starts the job. The portion ofinformation 804 further includes a “completed” option 808 which thetechnician selects so that an indication of an actual complete time iscommunicated to the entity device 104 when the technician finishes thejob.

In various embodiments, the technicians may also be provided with a“take break” option 810. The take break option 810 allows thetechnicians to take their work breaks (e.g., 15 minutes in the morning,30 or 60 minute lunch, 15 minutes in the afternoon). Accordingly, thework breaks may be associated with a pre-defined amount of break time.The timing module 126 may further be configured to calculate, or update,the timing information in light of a work break taken by a technician(e.g., a scheduled or known work break or an indication of work break).

FIG. 9 illustrates an example GUI 900 directed to displaying the statusof jobs to a representative 204 (e.g., manager, a supervisor, advisor,receptionist, etc.) of a service facility 112. The example GUI 900 liststhe jobs that have come through one or more service facilities during agiven period (e.g., a day such as “Feb. 6, 2014” in FIG. 9). The jobslisted may include information associated with the job such as thecustomer information (e.g., customer name), the item information (e.g.,year and model of an automobile), and service facility information(e.g., an advisor that created the repair order and an assigned repairorder number). As discussed above, each job listed may also beassociated with a status such as “waiting” 902, “started” 904, and“completed” 906, which may also be displayed. Different colors mayvisually distinguish one status from another (e.g., waiting jobs may behighlighted yellow, started jobs may be highlighted green, etc.).

The example GUI 900 also shows a start time 908 for each job listed(e.g., an estimated start time for waiting jobs and an actual start timefor started or completed jobs), the estimated duration of time remaininguntil completion 910 for each started job listed, and the estimated nextavailable start time 912. Accordingly, the representative 204 may accessthe example GUI 900 to view an operational “snapshot” of the servicefacility at a particular point in time. In various embodiments, a filteroption 914 allows the jobs to be sorted and viewed based on status(e.g., the waiting jobs, the started jobs or the completed jobs), bytype of jobs (e.g., the jobs of the works gas type, the jobs of theworks diesel type, etc.), by advisor, by service facility, etc.Moreover, the representative 204 may select a new job option 916 so thata new job can be created, e.g., via example GUI 500.

FIG. 10 describes an example process 1000 that determines actualdurations of times it takes to complete jobs to calculate an averageduration for jobs of a particular job type. In various embodiments,individual operations described with respect to FIG. 10 may be performedby various ones of the devices discussed with respect to FIGS. 1 and 2.

At 1002, the scheduling module 124 receives indications of an actualstart time and an actual complete time for each job of a plurality ofjobs completed at an individual service facility or across multipleservice facilities.

At 1004, the timing module 126 may determine, based on the actual starttime and the actual complete time, an actual duration of time tocomplete each job. For example, if the actual start time is 9:30 AM andthe actual complete time is 10:15 AM, then the actual duration of timeto complete the job would be forty-five minutes.

At 1004, the timing module 126 stores the actual duration of time tocomplete each job in the job timing information database 134. In variousembodiments, the actual durations of time to complete jobs may be storedaccording to job type (e.g., 206(1) . . . 206(M)). The actual durationsof time to complete job may also be stored according to a technician, awork station, and/or a service facility. Thus, the job timinginformation database 134 may include multiple job entries, where eachjob entry may identify a work or repair order (e.g., the information inFIG. 5), a job type, an estimated duration of time to completion, atechnician, a service facility, an actual start time, an actual completetime, and an actual duration of time to complete the job.

At 1008, the works-flow timing service 102 receives an instruction tocalculate an average duration of time to complete jobs of a particularjob type. For example, the instruction may be a pre-set orpre-configured instruction to make the calculation periodically (e.g.,at the end of each work day, at the end of each work week, at the startof a new month, etc.). In another example, the instruction may beinitiated, and provided, by a representative 204 (e.g., a manager or asupervisor). In various embodiments, the instruction may indicatewhether to consider or sample jobs from an individual service facilityor multiple service facilities.

At 1010, the timing module 126 access, via the job timing informationdatabase 134, the actual durations of time to complete the jobs of theparticular job type. For example, there may be one hundred durationsbased on one hundred jobs of the job type completed at a particularservice facility over the last five days. In another example, there maybe a thousand durations based on one thousand jobs of the job typecompleted at multiple service facilities over the last five days.

At 1012, the timing module 126 calculates the average duration of timeto complete the jobs of the particular type. For instance, the timingmodule 126 may add up the various durations of time and divide by anumber of actually completed jobs to calculate the average duration oftime to complete the jobs of the particular type.

In various embodiments, the works-flow timing service 102 uses theaverage time calculated as the estimated duration of time to completion(e.g., one of 208(1) . . . 208(M)) associated with the particular jobtype (e.g., one of 206(1) . . . 206(M)).

FIG. 11 describes an example process 1100 that generates performancereports based on actual timing information associated with completedjobs. In various embodiments, individual operations described withrespect to FIG. 11 may be performed by various ones of the devicesdiscussed with respect to FIGS. 1 and 2.

At 1102, the performance module 130 receives an instruction to generatea performance report based on actual timing information associated withjobs. For example, a supervisor or manager may desire to view aperformance report for a group of technicians at the end of a work day.In another example, a supervisor or manager may desire to view aperformance report for a specific service facility at the end of a workweek.

At 1104, the performance module 130 accesses the job timing informationstored in the job timing information database 134. For example, theperformance module may access, for jobs completed in a given period(e.g., two hours, four hours, a day, a week, a month), one or more of anactual start time, an actual complete time, an actual duration of timeto complete a job (e.g., determined in operation 1004 of FIG. 10).Moreover, the performance module 130 may access other informationassociated with a job such as the technician that performed the job, thetype of the job, etc.

At 1106, the performance module 130 generates the performance reportrequested based on the job timing information accessed. In variousembodiments, the performance module 130 may generate the reports basedon a comparison of estimated timing information for jobs (e.g., thetiming information communicated to customers at a time a job work orderis created) and actual timing information associated with the actualcompletion of the jobs. For example, the performance module 130 maydetermine a difference between an estimated time (e.g., an estimatedstart time communicated to a customer) and an actual time (e.g., theactual start time). Moreover, the performance module 130 may aggregatethe differences that result for the comparisons of multiple jobs togenerate the performance results. In some instances, the differences maybe compared to thresholds to determine whether job performance istimely, as further discussed herein. Example performance reports arediscussed herein with respect to the example GUIs shown in FIGS. 12-18.

At 1108, the performance module 130 outputs or displays the performancereport generated. As discussed above, a manager or supervisor may viewthe performance report to evaluate a technician or a service facility orto compare technicians or service facilities. In various embodiments,the performance module 130 may store generated performance reports forfuture use or later access. The performance module 130 may alsocommunicate the performance reports to another device.

FIG. 12 illustrates an example GUI 1200 directed to displaying anaverage duration of time it takes for individual technicians to completejobs of a particular type. The performance module 130 may generate thereport of FIG. 12 in response to receiving an instruction, e.g., from amanager or advisor, to view technician specific averages for aparticular job type (e.g., “works gas” in FIG. 12). The technicians arelisted on the left, e.g., “Kurt”, “Daniel”, “Brian”, “Greg” and soforth, and may be technicians that work at an individual servicefacility or across multiple service facilities.

The performance module 130 may determine the numbers shown in FIG. 12 byaccessing, for each technician, the actual durations of time to completejob of the particular type (e.g., “works gas”) over a defined period(e.g., yesterday 1202, last five days 1204, and last thirty days 1206)and calculate the average for the defined period. As discussed above,the actual durations of time to complete a job may be stored accordingto a technician (e.g., technician identifier associated with a jobentry) and a job type. The defined periods in FIG. 12 (e.g., yesterday1202, last five days 1204, and last thirty days 1206), as well as FIGS.13-18, are shown as examples only, and therefore, may be other defaultor user-defined time periods as well (e.g., a two hour period, a fourhour period, a selected week, a selected month, etc.).

Accordingly, using the performance report displayed in the example GUI1200, a manager or supervisor can evaluate the performance of anindividual technician or compare technicians. For example, one couldconclude Kurt has shown improvement over the thirty days since his dailyaverage for the last five days is lower than the daily average for thelast thirty days (e.g., Kurt may be a new employee and the manager maywant to see improvement in Kurt's timeliness based on a job learningcurve). In another example, one could conclude that Brian has notrecently been efficient as he usually is since his daily average for thelast five days is higher than his daily average for the last thirtydays.

In various embodiments, the report module 130 may be configured toemphasize (e.g., highlight, bold, distinguish by color), or in some waynotify a viewer of, any outlying numbers or averages that exceed a rangeor threshold of acceptable or expected numbers or averages. For example,it may not be possible, no matter how experienced or efficient atechnician may be, for a “works gas” job to be completed in underthirty-eight minutes. Thus, Ricardo's displayed averages of (00:36:37)and (00:35:20) may signal that Ricardo may be skipping a work item on achecklist for jobs of the “works gas” type. Accordingly, the manager orsupervisor may follow-up with Ricardo regarding his unusual averages andmake sure he is performing the jobs appropriately.

FIG. 13 illustrates an example GUI 1300 directed to displaying a numberand percentage of jobs actually completed within a threshold period oftime of an estimated duration of time to completion. For example, if theestimated duration of time to completion is thirty minutes and thethreshold period of time is five minutes, a job completed in thirty-fiveminutes or less qualifies as a timely job. In contrast, a job completedin thirty-five minutes and one second or more does not qualify as atimely job. In FIG. 13, the threshold period of times is five minutesand the report is generated for given periods similar to those displayedin FIG. 12 (e.g., yesterday 1302, the last five days 1304, the lastthirty days 1306).

The performance module 130 may generate the report of FIG. 13 inresponse to receiving an instruction, e.g., from a manager or advisor,to view technician specific numbers associated with job completiontimeliness (e.g., jobs of various types, jobs of a specific type).Again, the technicians are listed on the left, e.g., “Kurt”, “Daniel”,“Brian”, “Greg” and so forth.

The performance module 130 may determine the numbers shown in FIG. 13 byaccessing, for each technician, (i) a number of jobs completed over thegiven period, and (ii) the actual durations of time to complete thejobs. In particular, the performance module 130 compares an actualduration of time to complete a job of a particular job type (e.g.,“works gas”), for an individual technician, with an estimated durationof time to complete (e.g., forty-five minutes) the job of the particulartype, which may be a performance expectation for the technicians. Theperformance module 130 may then determine, based on the comparison, ifthe technician actually completed the job within the threshold period oftime (e.g., five minutes) after the estimated duration of time expires.In many instances, the threshold discussed in this paragraph may not beapplicable to jobs actually completed more than five minutes before theestimated duration of time expires (e.g., because this indicatesefficient and timely performance that exceeds expectations). Asdiscussed above, the actual durations of time to complete a job may bestored according to a technician and a job type.

Using the performance report displayed in the example GUI 1300, amanager or supervisor can evaluate the performance of an individualtechnician with respect to timeliness, or compare technicians withrespect to timeliness. The manager or supervisor may then follow up witha technician associated with low percentages indicating the technicianis struggling to finish jobs on time or within the threshold period oftime.

In some implementations, the report module 130 may calculate and displaya daily average instead of the total numbers, e.g., for the last fivedays and the last thirty days. Moreover, the number and averagesdisplayed may include decimals.

FIG. 14 illustrates an example GUI 1400 directed to displaying a numberof jobs actually completed by a technician for a given period. Theperformance module 130 may generate the report of FIG. 14 in response toreceiving an instruction, e.g., from a manager or advisor, to view howmany jobs a technician has completed for the defined periods. In variousembodiments, the number of jobs completed may correspond to varioustypes or an individual job type.

In some implementations, the report module 130 may calculate and displaya daily average number of jobs instead of the total numbers, e.g., forthe last five days and the last thirty days.

FIG. 15 illustrates an example GUI 1500 directed to displaying a numberand percentage of jobs actually started within a threshold period oftime of an estimated start time. In FIG. 15, the threshold period oftimes is five minutes and the report is generated for given periodssimilar to those displayed in FIG. 12 (e.g., yesterday 1502, the lastfive days 1504, the last thirty days 1506).

The performance module 130 may generate the report of FIG. 15 inresponse to receiving an instruction, e.g., from a manager or advisor,to view job type specific numbers associated with job start timeliness.

The performance module 130 may determine the numbers shown in FIG. 15 byaccessing information for completed jobs of a specific job type (e.g.,works gas 1508, works diesel 1510, tires 1512, and other 514). Inparticular, the performance module 130 is configured to access theactual start time of a job and to compare the actual start time to anestimated start time that may be stored in association with the workorder at a time when the work order was created. Based on thecomparison, the performance module 130 may determine if the job wasactually started before or within a threshold period of time after theoriginal estimated start time (e.g., determine that the job startsbefore the estimated start time or within five minutes of the estimatedstart time).

Thus, the performance module 130 can determine whether a servicefacility is meeting customer expectations by starting jobs on-time orclose to on-time. The customer expectations may be realized because theestimated start times may be communicated to the customers when the joband the work order are created.

Thus, using the performance report displayed in the example GUI 1500, amanager or supervisor can evaluate the performance of an individualservice facility or multiple service facilities and compare theperformance of service facilities and the performance with respect todifferent job types. The performance report displayed in the example GUI1500 may also be generated for technicians.

FIG. 16 illustrates an example GUI 1600 directed to displaying a numberand percentage of jobs actually finished before or within a thresholdperiod of time after an estimated duration of time expires. In thisexample, the numbers are displayed according to job type. Moreover, thisexample report may be generated for an individual technician, multipletechnicians, an individual service facility, or multiple servicefacilities.

FIG. 17 illustrates an example graphical user interface 1700 directed todisplaying a performance report that summarizes a number of actualcompleted jobs per day according to work type. This example report maybe generated for an individual technician, multiple technicians, anindividual service facility, or multiple service facilities.

FIG. 18 illustrates an example graphical user interface 1800 directed todisplaying a performance report that determines and displays averagedifferences (e.g., the +/− in FIG. 18) between an estimated duration oftime to complete a job of a particular type and an actual duration oftime to complete a job of the particular type. The performance reportshown in FIG. 18 allows a manager or supervisor to view a particulararea of work (e.g., by job type) that is timely and efficient or that isnot timely and inefficient (e.g., the works gas job type has a thirtyday average of being late by 5.68 minutes compared to 9.40 minutes forthe tires job type). The report determined and displayed in FIG. 18 maybe generated for an individual technician, an individual servicefacility, or multiple service facilities.

CONCLUSION

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described. Rather,the specific features and acts are disclosed as illustrative forms ofimplementing the claims.

What is claimed is:
 1. A method for notifying customers of real-timetiming information associated with servicing of automobiles in anautomobile service facility, the method comprising: receiving over aperiod of time, by a server and from a plurality of work station devicesconnected to the server via one or more network connections, firsttiming information for a plurality of first automobile service jobs,wherein: the plurality of first automobile service jobs have alreadybeen started and are currently being performed at a plurality of workstations equipped to service the automobiles within the automobileservice facility, and the first timing information includes an estimatedamount of time until a respective first automobile service job iscompleted, accessing, by the server and over the period of time, secondtiming information for a plurality of second automobile service jobs,wherein: the plurality of second automobile service jobs have beenplaced in a service queue and are waiting to be started at theautomobile service facility, and the second timing information includesan estimated duration of time to complete a respective second automobileservice job based at least in part on an automobile service job type,determining, by the server in real-time based at least in part on thefirst timing information received over the period of time and the secondtiming information accessed over the period of time, estimated startingtimes for the plurality of second automobile service jobs that have beenplaced in the service queue; determining, by the server in real-timebased at least in part on the first timing information received over theperiod of time and the second timing information accessed over theperiod of time, a next available starting time for a next automobileservice job to be added to the service queue, wherein the nextautomobile service job is made available for any one of a plurality ofnext customers that decides to bring an automobile to the automobileservice facility; generating, by the server, a notification thatcaptures a real-time customer view into an operational timeliness of theautomobile service facility, the notification presenting at least oneof: the estimated amount of time until the respective first automobileservice job that has already been started and that is currently beingperformed at one of the plurality of work stations is completed; atleast one of the estimated starting times determined for the pluralityof second automobile service jobs; or the next available starting timedetermined for the next automobile service job; and communicating, bythe server, the notification to a customer device.
 2. The method ofclaim 1, wherein the notification comprises at least one of an email, atext message, or a social network message.
 3. The method of claim 1,wherein the notification comprises data presented within a graphicaluser interface accessible over a network via a uniform resource locatoror an application.
 4. The method of claim 1, wherein the estimatedduration of time to complete the respective second automobile servicejob is calculated based on averaging, for a predefined recent timeperiod, actual durations of time taken to complete previously completedautomobile service jobs of the automobile service job type.
 5. Themethod of claim 1, further comprising: receiving service informationindicative of the next automobile service job; correlating the serviceinformation to a pre-defined automobile service job type; identifying anestimated time duration to complete the next automobile service jobbased at least in part on the pre-defined automobile service job type;determining, based at least in part on the estimated time duration, anestimated completion time for the next automobile service job; andcommunicating, for the next automobile service job, the estimatedcompletion time to the customer device.
 6. The method of claim 1,further comprising: receiving, from the plurality of work stationdevices, additional timing information for the plurality of firstautomobile service jobs, the additional timing information includingupdates to the estimated amount of time until the respective firstautomobile service job is completed; and dynamically updating, based atleast in part on the updates, the estimated amount of time until therespective first automobile service job is completed.
 7. The method ofclaim 1, further comprising: receiving, from an individual work stationdevice, automobile service job timing information indicating first timeswhen a plurality of automobile service jobs performed by a particularautomobile service technician were started and second times when theplurality of automobile service jobs performed by the particularautomobile service technician were completed; and generating, based inpart on the first times and the second times, a performance reportindicative of timeliness of the particular automobile service technicianwith respect to completing the plurality of automobile service jobs, thetimeliness including: a first number of automobile service jobs thatwere started within a threshold period of time of an estimated starttime; and a second number of automobile service jobs that were completedwithin a threshold period of time of an estimated end time.
 8. A systemfor notifying customers of real-time timing information associated withservicing of automobiles in an automobile service facility, the systemcomprising: one or more processors; and memory storing instructionsthat, when executed by the one or more processors, configure the systemto perform operations comprising: receiving over a period of time, froma plurality of work station devices connected to the system via one ormore network connections, first timing information for a plurality offirst automobile service jobs, wherein: the plurality of firstautomobile service jobs have already been started and are currentlybeing performed at a plurality of work stations equipped to service theautomobiles within the automobile service facility, and the first timinginformation includes an estimated amount of time until a respectivefirst automobile service job is completed, accessing, over the period oftime, second timing information for a plurality of second automobileservice jobs, wherein: the plurality of second automobile service jobshave been placed in a service queue and are waiting to be started at theautomobile service facility, and the second timing information includesan estimated duration of time to complete a respective second automobileservice job based at least in part on an automobile service job type,determining, in real-time based at least in part on the first timinginformation received over the period of time and the second timinginformation accessed over the period of time, estimated starting timesfor the plurality of second automobile service jobs that have beenplaced in the service queue; determining, in real-time based at least inpart on the first timing information received over the period of timeand the second timing information accessed over the period of time, anext available starting time for a next automobile service job to beadded to the service queue, wherein the next automobile service job ismade available for any one of a plurality of next customers that decidesto bring an automobile to the automobile service facility; generating anotification that captures a real-time customer view into an operationaltimeliness of the automobile service facility, the notificationpresenting at least one of: the estimated amount of time until therespective first automobile service job that has already been startedand that is currently being performed at one of the plurality of workstations is completed; at least one of the estimated starting timesdetermined for the plurality of second automobile service jobs; or thenext available starting time determined for the next automobile servicejob; and communicating the notification to a customer device.
 9. Thesystem of claim 8, wherein the notification comprises at least one of anemail, a text message, or a social network message.
 10. The system ofclaim 8, wherein the notification comprises data presented within agraphical user interface accessible over a network via a uniformresource locator or an application.
 11. The system of claim 8, whereinthe estimated duration of time to complete the respective secondautomobile service job is calculated based on averaging, for apredefined recent time period, actual durations of time taken tocomplete previously completed automobile service jobs of the automobileservice job type.
 12. The system of claim 8, wherein the operationsfurther comprise: receiving service information indicative of the nextautomobile service job; correlating the service information to apre-defined automobile service job type; identifying an estimated timeduration to complete the next automobile service job based at least inpart on the pre-defined automobile service job type; determining, basedat least in part on the estimated time duration, an estimated completiontime for the next automobile service job; and communicating, for thenext automobile service job, the estimated completion time to thecustomer device.
 13. The system of claim 8, wherein the operationsfurther comprise: receiving, from the plurality of work station devices,additional timing information for the plurality of first automobileservice jobs, the additional timing information including updates to theestimated amount of time until the respective first automobile servicejob is completed; and dynamically updating, based at least in part onthe updates, the estimated amount of time until the respective firstautomobile service job is completed.
 14. The system of claim 8, whereinthe operations further comprise: receiving, from an individual workstation device, automobile service job timing information indicatingfirst times when a plurality of automobile service jobs performed by aparticular automobile service technician were started and second timeswhen the plurality of automobile service jobs performed by theparticular automobile service technician were completed; and generating,based in part on the first times and the second times, a performancereport indicative of timeliness of the particular automobile servicetechnician with respect to completing the plurality of automobileservice jobs, the timeliness including: a first number of automobileservice jobs that were started within a threshold period of time of anestimated start time; and a second number of automobile service jobsthat were completed within a threshold period of time of an estimatedend time.
 15. One or more non-transitory computer-readable media storinginstructions that, when executed by one or more processers, cause asystem to perform operations comprising: receiving over a period oftime, from a plurality of work station devices connected to the systemvia one or more network connections, first timing information for aplurality of first automobile service jobs, wherein: the plurality offirst automobile service jobs have already been started and arecurrently being performed at a plurality of work stations equipped toservice the automobiles within the automobile service facility, and thefirst timing information includes an estimated amount of time until arespective first automobile service job is completed, accessing, overthe period of time, second timing information for a plurality of secondautomobile service jobs, wherein: the plurality of second automobileservice jobs have been placed in a service queue and are waiting to bestarted at the automobile service facility, and the second timinginformation includes an estimated duration of time to complete arespective second automobile service job based at least in part on anautomobile service job type, determining, in real-time based at least inpart on the first timing information received over the period of timeand the second timing information accessed over the period of time,estimated starting times for the plurality of second automobile servicejobs that have been placed in the service queue; determining, inreal-time based at least in part on the first timing informationreceived over the period of time and the second timing informationaccessed over the period of time, a next available starting time for anext automobile service job to be added to the service queue, whereinthe next automobile service job is made available for any one of aplurality of next customers that decides to bring an automobile to theautomobile service facility; generating a notification that captures areal-time customer view into an operational timeliness of the automobileservice facility, the notification presenting at least one of: theestimated amount of time until the respective first automobile servicejob that has already been started and that is currently being performedat one of the plurality of work stations is completed; at least one ofthe estimated starting times determined for the plurality of secondautomobile service jobs; or the next available starting time determinedfor the next automobile service job; and communicating the notificationto a customer device.
 16. The one or more non-transitorycomputer-readable media of claim 15, wherein the notification comprisesat least one of an email, a text message, or a social network message.17. The one or more non-transitory computer-readable media of claim 15,wherein the notification comprises data presented within a graphicaluser interface accessible over a network via a uniform resource locatoror an application.
 18. The one or more non-transitory computer-readablemedia of claim 15, wherein the estimated duration of time to completethe respective second automobile service job is calculated based onaveraging, for a predefined recent time period, actual durations of timetaken to complete previously completed automobile service jobs of theautomobile service job type.
 19. The one or more non-transitorycomputer-readable media of claim 15, wherein the operations furthercomprise: receiving service information indicative of the nextautomobile service job; correlating the service information to apre-defined automobile service job type; identifying an estimated timeduration to complete the next automobile service job based at least inpart on the pre-defined automobile service job type; determining, basedat least in part on the estimated time duration, an estimated completiontime for the next automobile service job; and communicating, for thenext automobile service job, the estimated completion time to thecustomer device.
 20. The one or more non-transitory computer-readablemedia of claim 15, wherein the operations further comprise: receiving,from the plurality of work station devices, additional timinginformation for the plurality of first automobile service jobs, theadditional timing information including updates to the estimated amountof time until the respective first automobile service job is completed;and dynamically updating, based at least in part on the updates, theestimated amount of time until the respective first automobile servicejob is completed.